// File Name: CustomProxyFactory.h

#ifndef CUSTOMPROXYFACTORY_H
#define CUSTOMPROXYFACTORY_H

#include <UIAutomationClient.h>

namespace UIAutomationCPP
{
	public class CustomProxyFactory : public IUIAutomationProxyFactory
	{
		public:
			CustomProxyFactory();
			virtual ~CustomProxyFactory();

			STDMETHODIMP CreateProvider(UIA_HWND hwnd, LONG idObject, LONG idChild, IRawElementProviderSimple **ppRetVal);
			STDMETHODIMP get_ProxyFactoryId(BSTR *pRetVal);

			HRESULT __stdcall QueryInterface(REFIID riid, void **ppvObj);
			ULONG __stdcall AddRef();
			ULONG __stdcall Release();

		private:
			ULONG refCount;
	};
}
#endif
